Conversation
|
🔄 AI PR Review sedang antri di server...
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
issue #1094
api gabungan https://github.com/OpenSID/API-Database-Gabungan/pull/445
laporan bug dari issue yang sudah di atasi :
Deskripsi
Memperbaiki endpoint API dan tampilan tabel Laporan Data Presisi Per Desa (
laporan-perdesa) agar angka/jumlah data dapat selalu tampil dengan akurat sesuai filter wilayah yang aktif (Kabupaten, Kecamatan, Desa, atau Tanpa Filter), serta memastikan perhitungan data hanya mengambil dari tahun pendataan yang sedang aktif.Perubahan yang dilakukan:
[Frontend OpenKab]
perdesa.blade.php:url.searchParams.set()sebelum inisialisasi DataTables agar request membawa konteks wilayah dari session.kode_desamenjadiconfig_desaagar konsisten dengan payload DataTables dan sesuai dengan format session (session('desa.id')berupa integer ID).[API Controller]
DataPresisiLaporanPerDesaController.php:index()agar membaca parameterconfig_desa,kode_desa,kode_kecamatan, dankode_kabupaten.$configIdsdengan urutan prioritas:config_desa(ID numerik langsung) >kode_desa>kode_kecamatan>kode_kabupaten> tanpa filter (semua desa).[API Repository]
DataPresisiLaporanPerDesaRepository.php:getLaporanPerDesa()dari menerima associative array$configsmenjadi array$configIdsagar konsisten dengan controller dan mendukung agregasi multi-desa.[API Transformer]
DataPresisiLaporanPerDesaTransformer.php:switch-case1 desa tunggal (where('config_id', $configId)) dengan pemetaan$modelMapdinamis danwhereIn('config_id', $configIds)yang mendukung filter di semua level wilayah maupun agregasi total.tahunAktif()pada semua query jumlah (lengkap,sebagian,tidak_lengkap) sehingga hanya menghitung data dari tahun yang berstatus aktif (data_presisi_tahun.status = 1).countByStatus()dancountTidakLengkap()untuk efisiensi serta membersihkan duplikasi kode lama.Alasan perubahan:
kode_*/config_desasedangkan API controller membacaconfig_kabupaten/config_kecamatan/config_desayang salah penamaan, menyebabkan$configIdkosong dan nilai count menjadi0.config_desa), sehingga tidak bisa menampilkan rekapitulasi ketika filter yang dipilih adalah tingkat Kecamatan atau Kabupaten.Dampak perubahan:
✅ Fungsionalitas Filter: Data laporan per desa sekarang tampil tepat dan dinamis baik saat difilter per desa spesifik, per kecamatan, per kabupaten, maupun tanpa filter.
✅ Akurasi Data: Angka statistik (lengkap, sebagian, tidak lengkap, total) kini 100% akurat karena dikalkulasi khusus untuk wilayah yang difilter pada tahun pendataan yang aktif.
✅ Clean Code: Pengurangan duplikasi kode pada transformer dan standardisasi parameter antar lapis arsitektur (Controller → Repository → Transformer).
Daftar Periksa (Checklist)
tahunAktif()pada setiap kategori data presisi.